Computer-executable database management systems (DBMSs) have conventionally executed on respective dedicated enterprise servers. For example, a computer-executable application may be configured to output data (to a user that utilizes the application) based upon, for example, an identity of the user and input to the application provided by the user. The application can interface with a DBMS, which executes queries in connection with retrieving data of interest. Conventionally, the content provider (e.g., the application owner) purchased a dedicated server configured to execute the DBMS.
As network bandwidth has increased and latency has decreased, it has become desirable in many circumstances to offload certain computing tasks to a service oriented architecture (e.g., the cloud). Therefore, rather than the above-mentioned content provider having to purchase a dedicated server and license an instance of the DBMS to execute on such server, the content provider may contract with a cloud service that retains the data of the content provider remotely and executes the DBMS remotely. This is beneficial to the content provider, as the content provider need not incur the front-end cost of purchasing a server, maintaining and upgrading such server over time, installing updates for the DBMS, etc.
To provide a cost-effective solution to content providers (e.g., customers), however, the cloud service may configure server computing devices such that resources (e.g., CPU, memory, . . . ) of the server computing devices are shared among multiple tenants (customers). That is, for a particular server computing device owned and operated by the cloud service, two or more customers may share resources of such server computing device. Conventionally, resource sharing has been facilitated through static allocation of resources to customers; e.g., a customer is allocated the entirety of a core of a multicore server computing device. Such static allocation, however, may be associated with inefficient usage of the resources of the server computing device, as static allocation limits a number of tenants that can be consolidated on a server to a number of available cores (for example), resulting in higher costs to the customers. For instance, a customer may be allocated an entirety of a core of a multicore server device, even though the customer may typically utilize a fraction of the processing resources of the core.